
using Qdb.Internal;
using Qdb.Internal.Marshall;
using Qdb.Marshall;
using Qdb.Typehandlers;

namespace Qdb.Internal
{
	/// <exclude></exclude>
	public interface IIndexableTypeHandler : IIndexable4, ITypeHandler4
	{
		object IndexEntryToObject(IContext context, object indexEntry);

		/// <exception cref="Qdb.CorruptionException"></exception>
		/// <exception cref="Qdb.Ext.QdbIOException"></exception>
		object ReadIndexEntryFromObjectSlot(MarshallerFamily mf, StatefulBuffer writer);

		/// <exception cref="Qdb.CorruptionException"></exception>
		/// <exception cref="Qdb.Ext.QdbIOException"></exception>
		object ReadIndexEntry(IObjectIdContext context);
	}
}
